package io.coderyeah.org.vo;

import com.fasterxml.jackson.annotation.JsonInclude;
import io.coderyeah.org.domain.Department;
import io.coderyeah.org.domain.Employee;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.ArrayList;
import java.util.List;

/**
 * (TDepartment)表实体类
 *
 * @author makejava
 * @since 2022-08-31 11:38:39
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class DepartmentVo {
    private Long id;
    //部门编号
    private String sn;
    //部门名称
    private String name;
    //部门的上级分类层级id
    private String dirpath;
    //部门状态 1启用，0禁用
    private Integer state;
    //部门管理员，关联Employee表id
    private Long managerId;
    //上级部门
    private Long parentId;

    // 部门管理员
    private Employee employee;
    // 上级部门
    private Department department;

    //部门无限级树 过滤空的集合
    @JsonInclude(JsonInclude.Include.NON_EMPTY)
    List<Department> children = new ArrayList<>();

}

